Vergelijkingsoperatoren

       

Worden gebruikt om expressies met elkaar te vergelijken.

Syntaxis

resultaat = expressie1 vergelijkingsoperator expressie2

resultaat = object1 Is object2

resultaat = tekenreeks Like patroon

Vergelijkingsoperatoren bestaan uit de volgende onderdelen:

Onderdeel Beschrijving
resultaat Vereist. Een willekeurige numerieke variabele.
expressie Vereist. een willekeurige expressie.
Vergelijkingsoperator Vereist. Een willekeurige vergelijkingsoperator.
Object Vereist. Een willekeurige objectnaam.
string Vereist. Een willekeurige tekenreeksexpressie.
patroon Vereist. Een willekeurige tekenreeksexpressie of een willekeurig tekenbereik.

Notities

De volgende tabel geeft een overzicht van de vergelijkingsoperatoren en de voorwaarden die bepalen of het resultaat True, False of Null is:

Operator True als False als Null als
< (Kleiner dan) expressie1 < expressie2 expressie1 >= expressie2 expressie1 of expressie2 = Null
<= (Kleiner of gelijk aan) expressie1 <= expressie2 expressie1 > expressie2 expressie1 of expressie2 = Null
> (Groter dan) expressie1 > expressie2 expressie1 <= expressie2 expressie1 of expressie2 = Null
>= (Groter of gelijk aan) expressie1 >= expressie2 expressie1 < expressie2 expressie1 of expressie2 = Null
= (Gelijk aan) expressie1 = expressie2 expressie1 <> expressie2 expressie1 of expressie2 = Null
<> (Niet gelijk aan) expressie1 <> expressie2 expressie1 = expressie2 expressie1 of expressie2 = Null

Opmerking De operatoren Is and Like hebben specifieke vergelijkingsfuncties, die verschillen van de functies van de operatoren in de volgende tabel.

Bij het vergelijken van twee expressies kunt u soms moeilijk bepalen of de expressies als getallen of als tekenreeksen worden vergeleken. In de volgende tabel ziet u hoe de expressies met elkaar worden vergeleken en wat het resultaat is als een van beide expressies geen Variant is:

Als Dan
Beide expressies een numeriek gegevenstype (Byte, Boolean, Integer, Long, Single, Double, Date, Currency of Decimal) zijn, Wordt een numerieke vergelijking uitgevoerd.
Beide expressies het gegevenstype String zijn, Wordt een tekenreeksvergelijking uitgevoerd.
EΘn expressie een numeriek gegevenstype is en de andere expressie een Variant is die uit een getal bestaat of een getal kan bevatten Wordt een numerieke vergelijking uitgevoerd.
EΘn expressie een numeriek gegevenstype is en de andere expressie een tekenreeksvariant is die niet naar een getal kan worden geconverteerd, Treedt een fout op: Type komt niet overeen.
EΘn expressie een String is en de andere een willekeurige Variant behalve Null is, Wordt een tekenreeksvergelijking uitgevoerd.
EΘn expressie Empty is en de andere een numeriek gegevenstype is, Wordt een numerieke vergelijking uitgevoerd met 0 als waarde voor de expressie Empty.
EΘn expressie Empty is en de andere een String is, Wordt een tekenreeksvergelijking uitgevoerd met een tekenreeks zonder gegevens ("") voor de expressie Empty.

Als expressie1 en expressie2 beide expressies van het type Variant zijn, bepaalt het onderliggende gegevenstype hoe de expressies worden vergeleken. In de volgende tabel ziet u hoe de expressies met elkaar worden vergeleken en wat het resultaat van de vergelijking is, afhankelijk van het onderliggende gegevenstype van de Variant:

Als Dan
Beide Variant-expressies numeriek zijn, Wordt een numerieke vergelijking uitgevoerd.
Beide Variant-expressies tekenreeksen zijn, Wordt een tekenreeksvergelijking uitgevoerd.
EΘn Variant-expressie numeriek is en de andere een tekenreeks, Is de numerieke expressie kleiner dan de tekenreeksexpressie.
Een Variant-expressie van het type Empty is en de andere numeriek, Wordt een numerieke vergelijking uitgevoerd met 0 als waarde voor de expressie Empty.
Een Variant-expressie van het type Empty is en de andere een tekenreeks, Wordt een tekenreeksvergelijking uitgevoerd met een tekenreeks zonder gegevens ("") voor de expressie Empty.
Beide Variant-expressies van het type Empty zijn, Zijn de expressies gelijk.

Wanneer u een gegevenstype Single vergelijkt met een gegevenstype Double, wordt Double afgerond, zodat het gegevenstype dezelfde precisie heeft als Single.

Als u een gegevenstype Currency vergelijkt met een gegevenstype Single of Double, wordt Single of Double geconverteerd naar Currency. Vergelijkbaar, als u een gegevenstype Decimal vergelijkt met een gegevenstype Single of Double, wordt Single of Double geconverteerd naar Decimal. Bij Currency kunnen de waarden van decimale getallen die kleiner zijn dan 0,0001 verloren gaan. Bij Decimal kunnen de waarden van decimale getallen die kleiner zijn dan 1E-28 verloren gaan, of er treedt een fout op als het geldige bereik wordt overschreden. Dit verlies van decimale getallen kan tot gevolg hebben dat twee waarden die niet gelijk zijn, toch als gelijk uit de vergelijking komen.